package com.wang.jvm.hotspot.src.share.vm.oops;

import com.wang.jvm.hotspot.src.share.vm.intepreter.ByteCodeStream;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

@Data
public class CodeAttributeInfo {

    private int attrNameIndex;  //常量池表的有效索引

    private int attrLength;  //当前属性的长度

    private int maxStack; //当前方法操作数栈的最大深度

    private int maxLocals; //局部变量表中的局部变量的个数

    private int codeLength; //code[] 数组的字节数

    private ByteCodeStream code;

    private int exceptionTableLength; //exception_table的数量

    // 如局部变量表、操作数栈
    private int attributesCount; //code属性中attributes[]数组的成员个数

    private Map<String, AttributeInfo> attributes = new HashMap<>(); //属性表

}
